A functional unit or criterion in connection with electronic equipment, which unit or criterion uses or controls another system or component is generally called a driver. Typically, a driver is formed of a software module, which contains the necessary functionalities for connecting an equipment unit to a system through a specified equipment interface. This mainly means a program entity that relates to the equipment unit by means of which commands given by the system are interpreted and modified into a format understood by the equipment unit, and vice versa.
As the use of wireless terminals is expanding from voice communication into other forms of media and data services, the need for drivers to support functions to be added to a terminal is increasing. It is typical to wireless terminals that they have lower memory capacity and performance than conventional terminals, and this also affects the arrangement of drivers in said environment.
One example of a rapidly grown trend of development is smart card applications used with the help of a wireless terminal. For the use of a smart card, a card reader, wherein a user places the smart card in connection with a service transaction, is connected to a terminal. The user gives the commands relating to the control of the use of the smart card with the help of the terminal's user interface. As necessary, the terminal takes care of the connection to a server that maintains the application, and the terminal comprises a driver that controls the functions relating to the service transaction in the direction of both the server and the card.
Smart card applications that have become common include electronic purses; there already is several service providers related to them. Typically, each purse application has its own low level interface, which is still different depending on which purse application is concerned or what type of card combination is in question. One card may also have several smart card applications, such as customer loyalty application, identity application, etc. It can already now be seen that as the number of applications and equipment manufacturers increases, arranging a separate driver for many different alternatives will cause problems as for the software required in a wireless terminal and the terminal's memory requirement.
Normally, a driver is arranged in a wireless terminal as a machine code, which the equipment manufacturer already includes in the terminal's software at the production stage. This means that the decisions on which smart card applications will be supported are already made at an early stage and substantially by the equipment manufacturer. Different equipment manufacturers may support different applications or even the same equipment manufacturer's different model generations may support different applications, which increases the diversity of the product range and makes it difficult for a user to decide on the alternatives. The software of a terminal is liable to become obsolete and maintaining software versions requires additional work from all parties of the service. In some more advanced models (e.g. NOKIA® 9110 Communicator), there is a possibility of afterwards downloading machine code into the terminal's memory, but in this kind of solution one would correspondingly end up maintaining data on each equipment manufacturer's way of arranging the downloading of the code afterwards. As for a new service provider, an arrangement according to prior art is inconvenient because, in addition to the actual client sales, the service provider has to see to it that as many equipment manufacturers as possible are willing to support the service in question.